﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace NutriLeaf.Web.Core.Recipe
{
    public interface IRecipeCategory
    {
        void AddRecipeCategory(string categoryName, string categoryDescription, ref Model.NutriLeafDBEntities context);

        void AddRecipeSubCateogy(string categoryName, string categoryDescription, Model.RecipeCategory parentCategory, ref Model.NutriLeafDBEntities context);

        void AddRecipeSubCateogy(string categoryName, string categoryDescription, int parentCategoryId, ref Model.NutriLeafDBEntities context);

        List<Model.RecipeCategory> GetSubCategories(int RecipeCategoryId, ref Model.NutriLeafDBEntities context);

        Model.RecipeCategory GetParentCategory(int RecipeCategoryId, ref Model.NutriLeafDBEntities context);

        Model.RecipeCategory GetRecipeCategory(int RecipeCategoryId, ref Model.NutriLeafDBEntities context);

        void RemoveAllSubCategories(int RecipeCategoryId, ref Model.NutriLeafDBEntities context);

        void RemoveRecipeCategory(int RecipeCategoyrId, ref Model.NutriLeafDBEntities context);

        void AddRecipeToRecipeCategory(int RecipeId, int RecipeCategoryId, ref Model.NutriLeafDBEntities context);

        void RemoveRecipeFromRecipeCategory(int RecipeId, int RecipeCategoryId, ref Model.NutriLeafDBEntities context);

        List<Model.RecipeCategory> GetRecipeCategoriesOfRecipe(int RecipeId, ref Model.NutriLeafDBEntities context);

        List<Model.Recipe> GetRecipesInCategory(int categoryId, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);
    }
}